home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 029a / helppc.zip / MISC.TXT < prev    next >
Text File  |  1990-11-27  |  39KB  |  978 lines

  1. @Uncategorized/Miscellaneous Topics
  2. :help:?
  3. ^HelpPC Programmers Reference
  4.  
  5. ^Please register this product by sending $25 (US) to:
  6.  
  7.     David Jurgens
  8.     1550 Alton Darby Creek Road
  9.     Columbus, OH  43228
  10.     CompuServe 71270,2422
  11.  
  12.  
  13. ^Keys used for navigating through HelpPC
  14.  
  15.  Esc      Exit current screen or HelpPC
  16.  End      Moves text or menu to the last line/item
  17.  Home     Moves text or menu to the first line/item
  18.  PgUp     Moves text or menu to page top or previous page
  19.  PgDn     Moves text or menu to page bottom or next page
  20.  F1       Switches from menu to prompting mode and vice versa
  21.  Alt-P    Write current topic to printer
  22.  Alt-W    Write topic to file HelpPC.DAT in the current directory
  23.  Alt-X    Exit HelpPC and without clearing current screen
  24.  
  25.  
  26. ^Using HelpPC
  27.  
  28.  HelpPC has two modes of operation.  The first is the Prompted Mode
  29.  where you specify the topic on the command line and HelpPC prompts
  30.  you for topics until you exit.   The second is the Menu Mode which
  31.  as its name implies is menu driven.  To use the Menu Mode just omit
  32.  the topic from the command line.  You may switch between Menu mode
  33.  and Prompted Mode with the F1 key.
  34.  
  35. ^Examples of Command Line
  36.  
  37. % For information about:    Use the following:
  38.  
  39.  Installation:               HelpPC install
  40.  Creating help files:        HelpPC helppc format
  41.  Interrupts:                 HelpPC int #
  42.      example:                HelpPC int 13
  43.  Interrupt subfunction:      HelpPC int #,func
  44.      example:                HelpPC int 21,4E
  45.  C function usage:           HelpPC function
  46.      examples:               HelpPC open
  47.                              HelpPC is...
  48.                              HelpPC str...
  49.  Other topics:               HelpPC interrupt table
  50.      examples:               HelpPC bios data area  or  HelpPC bda
  51.                              HelpPC ansi codes
  52.  
  53.  All topics are treated as lower case
  54.  
  55. ^Trademarks of Vendors Mentioned in HelpPC Databases
  56.  
  57.  ∙ PC/AT, PC-DOS, PC/XT and PS/2 are trademarks of International
  58.    Business Machines Corporation
  59.  ∙ Compaq is a registered trademark of Compaq Computer Corporation
  60.  ∙ CompuServe is a registered trademark of CompuServe Incorporated
  61.  ∙ DESQview is a trademark of Quarterdeck Office Systems
  62.  ∙ Epson is a registered trademark of Seiko Epson Corporation
  63.  ∙ HP is a registered trademark of Hewlett-Packard Company
  64.  ∙ IBM is a registered trademark of International Business Machines Corp.
  65.  ∙ Intel is a registered trademark of Intel Corporation
  66.  ∙ LIM and EMS are trademarks of Lotus, Intel and Microsoft Corporations
  67.  ∙ Maxtor is a trademark of Maxtor Corporation
  68.  ∙ Microsoft is a registered trademark of Microsoft Corporation
  69.  ∙ NEC is a registered trademark of NEC Electronics Incorported
  70.  ∙ Tandy is a registered trademark of Tandy Corporation
  71.  ∙ Turbo C is a registered trademark of Borland International Inc.
  72.  ∙ Other brand and product names are trademarks or registered
  73.    trademarks of their respective holders.
  74.  
  75.  - see   INSTALL   HELPPC FORMAT
  76.  
  77. :install:setup
  78. ^INSTALL/SETUP - HELPPC Installation
  79.  
  80.  Installation requires two steps.  First, simply uncompress the
  81.  HelpPC archive file.   Second, issue the following command:
  82.  
  83.  SET HLP=d:dirname     (no blanks, except between "SET HLP")
  84.  
  85.  Where 'd:' is the drive and 'dirname' is the directory where the
  86.  HelpPC.NDX and the .TXT files will reside (should be fully qualified,
  87.  with or without the trailing backslash '\', see example below).
  88.  HelpPC.COM can exist anywhere it can be accessed through the DOS
  89.  command search path (PATH).  The "SET HLP=" command should be placed
  90.  in the AUTOEXEC.BAT file to allow easy access to the database each
  91.  time your PC is rebooted.   It is recommended that HelpPC.COM be
  92.  renamed to something quick and comfortable to use, like  H.COM  or
  93.  HELP.COM.
  94.  
  95.  
  96.  As an example, if the files HelpPC.NDX and the .TXT files reside in
  97.  a directory named  C:\HELPINFO  then use:
  98.  
  99. %SET HLP=C:\HELPINFO     or     SET HLP=C:\HELPINFO\
  100.  
  101. :helppc format
  102. ^HelpPC Text File Format
  103.  
  104.  HelpPC in its standard form can handle 2000 indexed topics and
  105.  16 independent help files.  If you find you need a larger capacity,
  106.  please contact me at one of the addresses below.  Each file must
  107.  have its own title which will show up in the main menu.  Each topic
  108.  following the file title (see below) will show up in the subtopic
  109.  menu.  Also note that HelpPC will adjust the menu format based on
  110.  the screen height and the number of items in the main menu.
  111.  
  112.  HelpPC text files are simple ASCII files that contain control codes
  113.  in column one.   Each file must contain a title in the first line.
  114.  The remainder of the file consists of keyed lines and help text.
  115.  Each line must end with a CR/LF pair (standard DOS format) and
  116.  shouldn't be longer than 70 characters.   Tabs are treated as
  117.  physical data and are not handled logically.  The following is a
  118.  list of keys:
  119.  
  120.  '@'  in column 1 indicates a file title which will appear in
  121.       the main topic menu.  This must be the very first line
  122.       in the file and has a maximum length of 40 characters
  123.       (excluding the '@').
  124.  ':'  in column 1 indicates a subtopic key.  Multiple keys separated
  125.       by colons ':' can be entered on the same line.
  126.  '#'  in column 1 indicates a highlighted title line (not centered)
  127.  '^'  in column 1 indicates a centered highlighted title
  128.  '<'  text that should not be shifted right
  129.  ' '  in column 1 indicates a text line.  Text lines are shift
  130.       right 7 characters when displayed.
  131.  
  132.  any other character in column 1 is invalid
  133.  
  134.  
  135.  Use the BUILD command to index/reindex the default help text files.
  136.  To add your own files to the index use the command:
  137.  
  138. %    BUILD [fname [file2 ...]]
  139.  
  140.  
  141. %Limits of the HelpPC program
  142.  
  143.  Max items in main topic menu:          16
  144.  Max items in subtopic menu:           512
  145.  Max topics in index:                 2000
  146.  Max size of topic text:             16384 bytes
  147.  Max lines of text per topic:          512
  148.  Max topic key length:                  20
  149.  Max file title length:                 40
  150.  No limit on file size
  151.  
  152.  
  153. %Example help file:
  154.  
  155.  @This title appears in main menu
  156.  :key1:key2:key3
  157.  ^This line will show up centered and highlighted
  158.  
  159.  %This line will show up highlighted
  160.  
  161.   These lines are normal text.  All three topic keys will point to
  162.   this same database entry.
  163.  
  164. :character codes:character set:ascii:ebcdic:extended ascii
  165. ^ASCII - EBCDIC - Character Codes and Character Sets
  166.  
  167. %                           Extended
  168. %    Dec    Octal     Hex    ASCII    EBCDIC     ASCII
  169.       0      000      00               NUL        NUL
  170.       1      001      01               SOH        SOH
  171.       2      002      02              STX        STX
  172.       3      003      03              ETX        ETX
  173.       4      004      04              PF         EOT
  174.       5      005      05              HT         ENQ
  175.       6      006      06              LC         ACK
  176.       7      007      07              DEL        BEL
  177.       8      010      08      ...                 BS
  178.       9      011      09      ...                 HT
  179.      10      012      0A      ...      SMM        LF
  180.      11      013      0B               VT         VT
  181.      12      014      0C               FF         FF
  182.      13      015      0D      ...      CR         CR
  183.      14      016      0E              SO         SO
  184.      15      017      0F              SI         SI
  185.      16      020      10              DLE        DLE
  186.      17      021      11              DC1        DC1
  187.  
  188. %                           Extended
  189. %   Dec     Octal     Hex    ASCII    EBCDIC     ASCII
  190.      18      022      12              DC2        DC2
  191.      19      023      13              TM         DC3
  192.      20      024      14              RES        DC4
  193.      21      025      15              NL         NAK
  194.      22      026      16              BS         SYN
  195.      23      027      17              IL         ETB
  196.      24      030      18              CAN        CAN
  197.      25      031      19              EM         EM
  198.      26      032      1A      ...      CC         SUB
  199.      27      033      1B              CU1        ESC
  200.      28      034      1C              IFS        FS
  201.      29      035      1D              IGS        GS
  202.      30      036      1E              IRS        RS
  203.      31      037      1F              IUS        US
  204.      32      040      20               DS         SP
  205.      33      041      21       !       SOS         !
  206.      34      042      22       "       FS          "
  207.      35      043      23       #                   #
  208.  
  209. %                           Extended
  210. %   Dec     Octal     Hex    ASCII    EBCDIC     ASCII
  211.      36      044      24       $       BYP         $
  212.      37      045      25       %       LF          %
  213.      38      046      26       &       ETB         &
  214.      39      047      27       '       ESC         '
  215.      40      050      28       (                   (
  216.      41      051      29       )                   )
  217.      42      052      2A       *       SM          *
  218.      43      053      2B       +       CU2         +
  219.      44      054      2C       ,                   ,
  220.      45      055      2D       -       ENQ         -
  221.      46      056      2E       .       ACK         .
  222.      47      057      2F       /       BEL         /
  223.      48      060      30       0                   0
  224.      49      061      31       1                   1
  225.      50      062      32       2       SYN         2
  226.      51      063      33       3                   3
  227.      52      064      34       4       PN          4
  228.      53      065      35       5       RS          5
  229.      54      066      36       6       UC          6
  230.  
  231. %                           Extended
  232. %   Dec     Octal     Hex    ASCII    EBCDIC     ASCII
  233.      55      067      37       7       EOT         7
  234.      56      070      38       8                   8
  235.      57      071      39       9                   9
  236.      58      072      3A       :                   :
  237.      59      073      3B       ;       CU3         ;
  238.      60      074      3C       <       DC4         <
  239.      61      075      3D       =       NAK         =
  240.      62      076      3E       >                   >
  241.      63      077      3F       ?       SUB         ?
  242.      64      100      40       @       SP          @
  243.      65      101      41       A                   A
  244.      66      102      42       B                   B
  245.      67      103      43       C                   C
  246.      68      104      44       D                   D
  247.      69      105      45       E                   E
  248.      70      106      46       F                   F
  249.      71      107      47       G                   G
  250.      72      110      48       H                   H
  251.      73      111      49       I                   I
  252.  
  253. %                           Extended
  254. %   Dec     Octal     Hex    ASCII    EBCDIC     ASCII
  255.      74      112      4A       J        ¢          J
  256.      75      113      4B       K        .          K
  257.      76      114      4C       L        <          L
  258.      77      115      4D       M        {          M
  259.      78      116      4E       N        +          N
  260.      79      117      4F       O        |          O
  261.      80      120      50       P        &          P
  262.      81      121      51       Q                   Q
  263.      82      122      52       R                   R
  264.      83      123      53       S                   S
  265.      84      124      54       T                   T
  266.      85      125      55       U                   U
  267.      86      126      56       V                   V
  268.      87      127      57       W                   W
  269.      88      130      58       X                   X
  270.      89      131      59       Y                   Y
  271.      90      132      5A       Z        !          Z
  272.      91      133      5B       [        $          [
  273.      92      134      5C       \        *          \
  274.  
  275. %                           Extended
  276. %   Dec     Octal     Hex    ASCII    EBCDIC     ASCII
  277.      93      135      5D       ]        )          ]
  278.      94      136      5E       ^        ;          ^
  279.      95      137      5F       _        ¬          _
  280.      96      140      60       `                   `
  281.      97      141      61       a        /          a
  282.      98      142      62       b                   b
  283.      99      143      63       c                   c
  284.     100      144      64       d                   d
  285.     101      145      65       e                   e
  286.     102      146      66       f                   f
  287.     103      147      67       g                   g
  288.     104      150      68       h                   h
  289.     105      151      69       i                   i
  290.     106      152      6A       j                   j
  291.     107      153      6B       k        ,          k
  292.     108      154      6C       l        %          l
  293.     109      155      6D       m        _          m
  294.     110      156      6E       n        >          n
  295.     111      157      6F       o        ?          o
  296.  
  297. %                           Extended
  298. %   Dec     Octal     Hex    ASCII    EBCDIC     ASCII
  299.     112      160      70       p                   p
  300.     113      161      71       q                   q
  301.     114      162      72       r                   r
  302.     115      163      73       s                   s
  303.     116      164      74       t                   t
  304.     117      165      75       u                   u
  305.     118      166      76       v                   v
  306.     119      167      77       w                   w
  307.     120      170      78       x                   x
  308.     121      171      79       y                   y
  309.     122      172      7A       z        :          z
  310.     123      173      7B       {        #          {
  311.     124      174      7C       |        @          |
  312.     125      175      7D       }        '          }
  313.     126      176      7E       ~        =          ~
  314.     127      177      7F               "          
  315.     128      200      80       Ç
  316.     129      201      81       ü        a
  317.     130      202      82       é        b
  318.  
  319. %                           Extended
  320. %   Dec     Octal     Hex    ASCII    EBCDIC     ASCII
  321.     131      203      83       â        c
  322.     132      204      84       ä        d
  323.     133      205      85       à        e
  324.     134      206      86       å        f
  325.     135      207      87       ç        g
  326.     136      210      88       ê        h
  327.     137      211      89       ë        i
  328.     138      212      8A       è
  329.     139      213      8B       ï
  330.     140      214      8C       î
  331.     141      215      8D       ì
  332.     142      216      8E       Ä
  333.     143      217      8F       Å
  334.     144      220      90       É
  335.     145      221      91       æ        j
  336.     146      222      92       Æ        k
  337.     147      223      93       ô        l
  338.     148      224      94       ö        m
  339.     149      225      95       ò        n
  340.  
  341. %                           Extended
  342. %   Dec     Octal     Hex    ASCII    EBCDIC     ASCII
  343.     150      226      96       û        o
  344.     151      227      97       ù        p
  345.     152      230      98       ÿ        q
  346.     153      231      99       Ö        r
  347.     154      232      9A       Ü
  348.     155      233      9B       ¢
  349.     156      234      9C       £
  350.     157      235      9D       ¥
  351.     158      236      9E       ₧
  352.     159      237      9F       ƒ
  353.     160      240      A0       á
  354.     161      241      A1       í
  355.     162      242      A2       ó        s
  356.     163      243      A3       ú        t
  357.     164      244      A4       ñ        u
  358.     165      245      A5       Ñ        v
  359.     166      246      A6       ª        w
  360.     167      247      A7       º        x
  361.     168      250      A8       ¿        y
  362.  
  363. %                           Extended
  364. %   Dec     Octal     Hex    ASCII    EBCDIC     ASCII
  365.     169      251      A9       ⌐        z
  366.     170      252      AA       ¬
  367.     171      253      AB       ½
  368.     172      254      AC       ¼
  369.     173      255      AD       ¡
  370.     174      256      AE       «
  371.     175      257      AF       »
  372.     176      260      B0       ░
  373.     177      261      B1       ▒
  374.     178      262      B2       ▓
  375.     179      263      B3       │
  376.     180      264      B4       ┤
  377.     181      265      B5       ╡
  378.     182      266      B6       ╢
  379.     183      267      B7       ╖
  380.     184      270      B8       ╕
  381.     185      271      B9       ╣
  382.     186      272      BA       ║
  383.     187      273      BB       ╗
  384.  
  385. %                           Extended
  386. %   Dec     Octal     Hex    ASCII    EBCDIC     ASCII
  387.     188      274      BC       ╝
  388.     189      275      BD       ╜
  389.     190      276      BE       ╛
  390.     191      277      BF       ┐
  391.     192      300      C0       └
  392.     193      301      C1       ┴        A
  393.     194      302      C2       ┬        B
  394.     195      303      C3       ├        C
  395.     196      304      C4       ─        D
  396.     197      305      C5       ┼        E
  397.     198      306      C6       ╞        F
  398.     199      307      C7       ╟        G
  399.     200      310      C8       ╚        H
  400.     201      311      C9       ╔        I
  401.     202      312      CA       ╩
  402.     203      313      CB       ╦
  403.     204      314      CC       ╠
  404.     205      315      CD       ═
  405.     206      316      CE       ╬
  406.  
  407. %                           Extended
  408. %   Dec     Octal     Hex    ASCII    EBCDIC     ASCII
  409.     207      317      CF       ╧
  410.     208      320      D0       ╨
  411.     209      321      D1       ╤        J
  412.     210      322      D2       ╥        K
  413.     211      323      D3       ╙        L
  414.     212      324      D4       ╘        M
  415.     213      325      D5       ╒        N
  416.     214      326      D6       ╓        O
  417.     215      327      D7       ╫        P
  418.     216      330      D8       ╪        Q
  419.     217      331      D9       ┘        R
  420.     218      332      DA       ┌
  421.     219      333      DB       █
  422.     220      334      DC       ▄
  423.     221      335      DD       ▌
  424.     222      336      DE       ▐
  425.     223      337      DF       ▀
  426.     224      340      E0       α
  427.     225      341      E1       ß
  428.  
  429. %                           Extended
  430. %   Dec     Octal     Hex    ASCII    EBCDIC     ASCII
  431.     226      342      E2       Γ        S
  432.     227      343      E3       π        T
  433.     228      344      E4       Σ        U
  434.     229      345      E5       σ        V
  435.     230      346      E6       µ        W
  436.     231      347      E7       τ        X
  437.     232      350      E8       Φ        Y
  438.     233      351      E9       Θ        Z
  439.     234      352      EA       Ω
  440.     235      353      EB       δ
  441.     236      354      EC       ∞
  442.     237      355      ED       φ
  443.     238      356      EE       ε
  444.     239      357      EF       ∩
  445.     240      360      F0       ≡        0
  446.     241      361      F1       ±        1
  447.     242      362      F2       ≥        2
  448.     243      363      F3       ≤        3
  449.     244      364      F4       ⌠        4
  450.  
  451. %                           Extended
  452. %   Dec     Octal     Hex    ASCII    EBCDIC     ASCII
  453.     245      365      F5       ⌡        5
  454.     246      366      F6       ÷        6
  455.     247      367      F7       ≈        7
  456.     248      370      F8       °        8
  457.     249      371      F9       ∙        9
  458.     250      372      FA       ·
  459.     251      373      FB       √
  460.     252      374      FC       ⁿ
  461.     253      375      FD       ²
  462.     254      376      FE       ■
  463.     255      377      FF
  464.  
  465. :ansi codes:ansi control codes
  466. ^ANSI.SYS and NANSI.SYS Functions  -  ANSI x3.64
  467.  
  468.  ESC[y,xH     Cursor position y,x
  469.  ESC[nA       Cursor Up n lines
  470.  ESC[nB       Cursor Down n lines
  471.  ESC[nC       Cursor Forward n characters
  472.  ESC[nD       Cursor Backward n characters
  473.  ESC[y;xf     Cursor position y,x (less frequently used)
  474.  ESC[y;xR     Cursor position report y,x
  475.  ESC[6n       Device status report (cursor pos)(n is constant 'n')
  476.  ESC[s        Save cursor position
  477.  ESC[u        Restore cursor position
  478.  ESC[2J       Erase display
  479.  ESC[K        Erase to end of line
  480.  ESC[nL       Inserts n blank lines at cursor line.   (NANSI)
  481.  ESC[nM       Deletes n lines including cursor line.  (NANSI)
  482.  ESC[n@       Inserts n blank chars at cursor.        (NANSI)
  483.  ESC[nP       Deletes n chars including cursor char.  (NANSI)
  484.  ESC[n;ny     Output char translate                   (NANSI)
  485.               When first char is encountered in output request, it
  486.               is replaced with the second char.  When no parameters
  487.               are given, all chars are reset.
  488.  ESC["str"p   Keyboard Key Reassignment. The first char of str gives
  489.               the key to redefine; the rest of the string is the
  490.               key's new value.  To specify unprintable chars, give
  491.               the ASCII value of the char outside of quotes, as a
  492.               normal parm.   IBM function keys are two byte strings.
  493.  
  494.               Ex:  ESC[0;";dir a:";13;p
  495.  
  496.               redefines F1 to have the value "dir a:" followed by CR.
  497.               If no parameters given, all keys are reset to their
  498.               default values.  Single or double quotes are valid.
  499.  
  500.  ESC[n;n;...nm  Set Graphics Rendition is used to set attributes as
  501.    well as foreground and background colors.  If multiple parameters
  502.    are used, they are executed in sequence, and the effects are
  503.    cumulative. 'n' is one of the following attributes or colors:
  504.  
  505.    0  All attributes off       5  Blink
  506.    1  Bold                     7  Reverse Video
  507.    2  Dim                      8  Invisible
  508.    4  Underline
  509.  
  510.  
  511. %Foreground colors          Background colors
  512.  
  513.     30  Black                  40  Black
  514.     31  Red                    41  Red
  515.     32  Green                  42  Green
  516.     33  Yellow                 43  Yellow
  517.     34  Blue                   44  Blue
  518.     35  Magenta                45  Magenta
  519.     36  Cyan                   46  Cyan
  520.     37  White                  47  White
  521.  
  522.  
  523.  ESC[=nh     Set mode (see screen modes for n)
  524.  ESC[=nl     Reset Mode (see screen modes for n)
  525.  
  526.  
  527. ^Screen modes are similar to those found in the IBM BIOS:
  528.  
  529.         0   text 40x25 Black & White
  530.         1   text 40x25 Color
  531.         2   text 80x25 Black & White
  532.         3   text 80x25 Color
  533.         4   320x200 4 bits/pixel
  534.         5   320x200 1 bit/pixel
  535.         6   640x200 1 bit/pixel
  536.         7   cursor wrap
  537.        13   320x200 4 bits/pixel (EGA)
  538.        14   640x200 4 bits/pixel (EGA)
  539.        16   640x350 4 bits/pixel (EGA)
  540.  
  541.  
  542.  - for more information see ANSI document x3.64 or DOS manual
  543.  
  544. :byte ordering
  545. ^Byte Ordering of Different Computer Architectures
  546.  
  547.  
  548. %                16 Bit       32 Bit          Floating
  549. %Architecture    Integer      Format           Point
  550.  
  551.  MC68000           MSB          MSB             MSB
  552.  Intel             LSB          LSB             LSB
  553.  PDP-11            LSB       MSW...LSW       MSW...LSW
  554.  VAX               LSB          LSB          MSW...LSW
  555.  IBM 360/370       MSB          MSB             MSB
  556.  
  557.  
  558.  MSB means Most Significant Byte first or a byte order of 3210
  559.  LSB means Least Significant Byte first or a byte order of 0123
  560.  MSW...LSW means a byte order of 3201 or 67452301
  561.  
  562.  
  563.  See "Computer Language Magazine", April, 1987, P.J. Plauger for
  564.  more information
  565.  
  566. :cold boot:post
  567. ^POST - Cold Boot / Power On Self Test Activities
  568.  
  569.  - power supply starts Clock Generator (8284) with Power
  570.    Good signal on BUS
  571.  - CPU reset line is pulsed resetting CPU
  572.  - DS, ES, and SS are cleared to zero
  573.  
  574. %Cold and Warm Boot both execute the following sequence
  575.  - CS:IP are set to FFFF:0000 (address of ROM POST code)
  576.  - jump to CS:IP  (execute POST, Power On Self test)
  577.  - interrupts are disabled
  578.  - CPU flags are set, read/write/read test of CPU registers
  579.  - checksum test of ROM BIOS
  580.  - Initialize DMA (verify/init 8237 timer, begin DMA RAM refresh)
  581.  - save reset flag then read/write test the first 32K of memory
  582.  - Initialize the Programmable Interrupt Controller (8259)
  583.    and set 8 major BIOS interrupt vectors (interrupts 10h-17h)
  584.  - determine and set configuration information
  585.  - initialize/test CRT controller & test video memory (unless 1234h
  586.    found in reset word)
  587.  - test 8259 Programmable Interrupt Controller
  588.  - test Programmable Interrupt Timer (8253)
  589.  - reset/enable keyboard, verify scan code (AAh), clear keyboard,
  590.    check for stuck keys, setup interrupt vector lookup table
  591.  - hardware interrupt vectors are set
  592.  - test for expansion box, test additional RAM
  593.  - read/write memory above 32K (unless 1234h found in reset word)
  594.  - addresses C800:0 through F400:0 are scanned in 2Kb blocks in
  595.    search of valid ROM.  If found, a far call to byte 3 of the ROM
  596.    is executed.
  597.  - test ROM cassette BASIC (checksum test)
  598.  - test for installed diskette drives & FDC recalibration & seek
  599.  - test printer and RS-232 ports.  store printer port addresses
  600.    at 400h and RS-232 port addresses at 408h.  store printer
  601.    time-out values at 478h and Serial time-out values at 47Ch.
  602.  - NMI interrupts are enabled
  603.  - perform INT 19 (bootstrap loader), pass control to boot record or
  604.    cassette BASIC if no bootable disk found
  605.  - WARM BOOT procedure is now executed
  606.  
  607.  - see  INT 19   WARM BOOT   DIAGNOSTIC CODES
  608.  
  609. :cpu
  610. ^CPU Characteristics / Determination
  611.  
  612.  8088,80188,V20  six byte prefetch queue, allows use of self
  613.        modifying code to determine length of prefetch
  614.  
  615.  8086,80186,V30  four byte prefetch queue, allows use of self
  616.        modifying code to determine length of prefetch
  617.  
  618.  8088,8086,80188,81086,v20,v30  Flag register bits 12
  619.        through 15 cannot be cleared
  620.  
  621.  8088,8086 will shift left or right using all 8 bits of CL
  622.        if CL = 33, register is guaranteed to be cleared
  623.  
  624.  80188,80186,80286,80386 will shift left or right using only
  625.        lower 5 bits of CL.  If CL = 32, the shift will not occur
  626.  
  627.  80286,80386 earlier CPU's decremented SP before a PUSH SP,
  628.        but 286+ pushes the value first then, decrements SP
  629.  
  630.  8088,8086 non-zero multiplication result clears zero flag
  631.  
  632.  V20,V30   non-zero multiplication result does not clear zero
  633.        flag, set ZF before multiply, and test after, if it's
  634.        still set, then it's a V20, V30
  635.  
  636.  80286 allows setting of bit 15 of the flags register
  637.  
  638.  80386 allows setting of bits 12 through 14 of flags register
  639.  
  640.  
  641.  - source PC Tech Journal, "Chips In Transition", April 1986
  642.  
  643. :detecting:detection:determine
  644. ^Detecting ANSI.SYS
  645.  
  646.  Compare segment address of a DOS interrupt with the segment of the
  647.  standard CON device.   If equal, then ANSI is not loaded.   If the
  648.  segment address of CON is greater than the DOS interrupt, then ANSI
  649.  is loaded or a TSR is handling the interrupt.
  650.  
  651.  - see INT 21,52 for info on CON device address
  652.  
  653.  
  654. ^Detecting DESQView
  655.  
  656.  1.  call INT 2F with AX = DE00h
  657.  2.  if AL = FF on return DESQView is installed
  658.  
  659.  
  660. ^Detecting Disk Ready
  661.  
  662.  1.  use INT 13 function 4 (Verify Sector) to check ready for read
  663.  2.  check for error in AH of:
  664.      80h  Time out, or Not Ready
  665.      AAh  Drive not ready
  666.      00h  drive is ready for reading
  667.      other value indicates drive is ready, but an error occurred
  668.  3.  use INT 13,2 (Read Sector) followed by INT 13,3 (Write Sector)
  669.      to check ready for read/write.   First read sector, test for
  670.      ready;   write sector back, check for 03h (write protect) or
  671.      any of the other BIOS disk errors
  672.  
  673.  - multiple attempts should be made to allow for disk motor startup
  674.  - allows testing of drive ready bypassing DOS and critical error
  675.  - see  INT 13,2   INT 13,3   INT 13,4  and  INT 13,STATUS
  676.  
  677.  
  678. ^Detecting Drive Existence
  679.  
  680.  1.  save current drive  (INT 21,19)
  681.  2.  set current drive  (INT 21,E)
  682.  3.  get current drive  (INT 21,19)
  683.  4.  if current drive == drive requested
  684.         then drive exists
  685.         else drive doesn't exist
  686.  5.  reset original drive  (INT 21,E)
  687.  
  688.  - no critical error is generated if invalid drive is selected
  689.  
  690.  
  691. ^Detecting EGA Video
  692.  
  693.  INT 10h, function 12h (in AL), subfunction 10h (in BL) will
  694.  return BL = 10h if not an EGA since invalid functions requests
  695.  return without register modification
  696.  
  697.  - see  INT 10,12h
  698.  
  699.  
  700. ^Detecting VGA Video
  701.  
  702.  INT 10h function 1Ah can be used to detect the presence of VGA.
  703.  BL = 7  VGA with analog monochrome display
  704.     = 8  VGA with analog color display
  705.  
  706.  - some enhanced EGA adapters will incorrectly identify as VGA
  707.    when INT 10,1B is used
  708.  
  709.  - see  INT 10,1A
  710.  
  711.  
  712. ^Detecting Extended Keyboard BIOS
  713.  
  714.  1.  use INT 16,5 to stuff FFFF into the keyboard buffer
  715.  2.  use INT 16,10 to read the keystrokes back
  716.  3.  if the data stuffed into the keyboard is returned within 16
  717.      extended reads, the BIOS handles the extended keyboard
  718.  4.  byte at 40:96 is another method of detecting extended BIOS but
  719.      is not reliable since some compatibles give false positives
  720.  
  721.  - see   INT 16,5    INT 16,10    BIOS DATA AREA   INT 9
  722.  
  723.  
  724. ^Detecting present of Expanded Memory Manager
  725.  
  726.  1.  attempt to open file/device 'EMMXXXX0' using INT 21h
  727.      function 3Dh;  if successful continue, else no EMM
  728.  2.  make sure EMMXXXX0 is a character device and not a disk file
  729.      by using IOCTL function 0 (Get Device Info);  bit 7 of DX
  730.      should be set for char device and clear for disk file
  731.  3.  make sure Expanded Memory Manager is available using IOCTL
  732.      function 7 (Get Output Status);   AL should be non-zero (FF)
  733.      if Memory Manager is available, and zero if not available.
  734.  4.  call INT 67,46  to get version information
  735.  
  736.  - see also   INT 21,3D   IOCTL,0   IOCTL,7   INT 67,46
  737.  
  738.  
  739. ^Detecting Existence of Mouse Driver
  740.  
  741.  1.  check INT 33 vector is not 0:0
  742.  2.  check INT 33 vector does not point to an IRET
  743.  3.  call INT 33,0 to reset the mouse and get installed state
  744.  4.  call INT 33,24 to check version, type and IRQ
  745.  
  746.  
  747. ^Detecting Miscellaneous
  748.  
  749.  Boot drive;   see INT 21,33 (DOS 4.0+)
  750.  
  751.  CPU type;   see CPU
  752.  
  753.  Hardware configuration;   see INT 11
  754.  
  755.  Logical Drive Assignment;   see IOCTL,E
  756.  
  757.  Memory size, Base;   see INT 12
  758.  
  759.  Memory size, Extended;   see CMOS
  760.  
  761.  Micro Channel Bus on PS/2;   see INT 15,C0
  762.  
  763.  Network or Local Disk;   see IOCTL,9
  764.  
  765.  Network or Local File;   see IOCTL,A
  766.  
  767.  Parallel ports;   see  BIOS DATA AREA  locations 40:08-40:0F
  768.  
  769.  RAM Disk;   see  INT 21,32   and   MEDIA DESCRIPTOR
  770.  
  771.  Redirection on command line;   see  IOCTL,0
  772.  
  773.  Removable media;   INT 21,1B    INT 21,1C
  774.                     MEDIA DESCRIPTOR BYTE   and   IOCTL,8
  775.  
  776.  Serial ports;   see BIOS DATA AREA  locations 40:00-40:07
  777.  
  778.  Single drive A: or B: selection;   see BIOS DATA AREA byte 50:04
  779.  
  780.  SUBST'ed drive;  see INT 21,32
  781.  
  782.  Video Screen Size in Columns;  see  INT 10,F
  783.  
  784.  Video Screen Size in Rows;  see  INT 10,11  subfunction 30h (EGA+)
  785.  
  786.  APPEND resident;   see INT 2F,0
  787.  ASSIGN resident;   see INT 2F,0
  788.  DOSSHELL resident;   see INT 2F,0
  789.  NLSFUNC resident;   see INT 2F,0
  790.  PRINT resident;   see INT 2F,0
  791.  SHARE resident;   see INT 2F,0
  792.  
  793. :dbase files:dbf files
  794. ^dBASE - File Header Structure (dBASE II)
  795.  
  796. %Offset Size          Description
  797.  
  798.    00   byte    dBASE version number 02h=dBASE II
  799.    01   word    number of data records in file
  800.    03   byte    month of last update
  801.    04   byte    day of last update
  802.    05   byte    year of last update
  803.    06   word    size of each data record
  804.    08 512bytes  field descriptors  (see below)
  805.   520   byte    0Dh if all 32 field descriptors used; otherwise 00h
  806.  
  807.  - dBASE II file header has a fixed size of 521 bytes
  808.  
  809.  
  810. ^DBASE - File header structure (DBASE III)
  811.  
  812. %Offset Size           Description
  813.  
  814.    00   byte      dBASE vers num 03h=dBASE III w/o .DBT
  815.                   83h=dBASE III w .DBT
  816.    01   byte      year of last update
  817.    02   byte      month of last update
  818.    03   byte      day of last update
  819.    04   dword     long int number of data records in file
  820.    08   word      header structure length
  821.    10   word      data record length
  822.    12 20bytes     version 1.0 reserved data space
  823.  32-n 32bytes ea. field descriptors  (see below)
  824.   n+1   byte      0dH field terminator.
  825.  
  826.  
  827.  - unlike dBASE II, dBASE III has a variable length header
  828.  
  829.  
  830. ^dBASE - Field Descriptors
  831.  
  832. %dBASE II Field Descriptors (header contains 32 FDs)
  833.  
  834. %Offset Size              Description
  835.  
  836.    00  11bytes    null terminated field name string, 0Dh as first
  837.                   byte indicates end of FDs
  838.    11   byte      data type, Char/Num/Logical (C,N,L)
  839.    12   byte      field length
  840.    13   word      field data address, (set in memory)
  841.    15   byte      number of decimal places
  842.  
  843.  
  844. %dBASE III Field Descriptors (FD count varies):
  845.  
  846. %Offset Size           Description
  847.  
  848.    00  11bytes   null terminated field name string
  849.    11   byte     data type, Char/Num/Logical/Date/Memo
  850.    12   dword    long int field data address, (set in memory)
  851.    16   byte     field length
  852.    17   byte     number of decimal places
  853.    18  14bytes   version 1.00 reserved data area
  854.  
  855. :file handles:default handles:handles
  856. ^DOS Default/Predefined File Handles
  857.  
  858.   0 - Standard Input Device - can be redirected (STDIN)
  859.   1 - Standard Output Device - can be redirected (STDOUT)
  860.   2 - Standard Error Device - can be redirected (STDERR)
  861.   3 - Standard Auxiliary Device (STDAUX)
  862.   4 - Standard Printer Device (STDPRN)
  863.  
  864.  
  865. %See the following  INT 21h  Handle related function calls:
  866.  
  867.  INT 21,3C - Create file using handle
  868.  INT 21,3D - Open file using handle
  869.  INT 21,3E - Close file using handle
  870.  INT 21,3F - Read file or device using handle
  871.  INT 21,40 - Write file or device using handle
  872.  INT 21,41 - Delete file
  873.  INT 21,42 - Move file pointer using handle
  874.  INT 21,43 - Change file mode
  875.  INT 21,45 - Duplicate file handle
  876.  INT 21,46 - Force duplicate file handle
  877.  INT 21,56 - Rename file
  878.  INT 21,57 - Get/set file date and time using handle
  879.  INT 21,5A - Create temporary file (3.x+)
  880.  INT 21,5B - Create new file (3.x+)
  881.  INT 21,67 - Set handle count (3.3+)
  882.  INT 21,68 - Flush buffer (3.3+)
  883.  
  884.  
  885.  - STDIN, STDOUT and STDERR can be redirected
  886.  - maximum number of files available to all DOS processes at one
  887.    time is defined by the FILES=N statement of CONFIG.SYS
  888.  - maximum number of files available to an application is N-3 where
  889.    N is derived from the CONFIG.SYS FILES=N statement minus the
  890.    count of handles used by other processes
  891.  - INT 21,67 can be used to increase the number of file handles for
  892.    an application to greater than 20;  the max handle count is
  893.    still limited by the value of FILES= in CONFIG.SYS file
  894.  - see   SFT   INT 21   INT 21,52   INT 21,67
  895.  
  896.  
  897. :numeric ranges:data ranges:ranges
  898. ^Numeric Ranges for Data Elements
  899.  
  900.  
  901. %     Size                  Range             Significant digits
  902.  
  903.   1 byte character         -128 to 127                 2
  904.   2 byte integer        -32,768 to 32,767              4
  905.   4 byte integer -2,147,483,648 to 2,147,483,647       9
  906.   8 byte integer       -9x10e18 to 9x10e18            18
  907.   4 byte real       8.43x10e-37 to 3.37x10e38        6-7
  908.   8 byte real      4.19x10e-307 to 1.67x10e308      15-16
  909.  10 byte real      3.4x10e-4932 to 1.2x10e4932        19
  910.  10 byte packed dec     -99..99 to 99..99             18
  911. :undocumented
  912. ^DOS Undocumented Interrupts, Functions and Structures
  913.  
  914.  INT 21,1F   Get pointer to current drive parameter table
  915.  INT 21,32   Get pointer to drive parameter table
  916.  INT 21,34   Get address to DOS critical flag (INDOS flag)
  917.  INT 21,37   Get/set switch char
  918.  INT 21,4B   EXEC/Load and execute (Function 1 undocumented)
  919.  INT 21,50   Set current process id (DOS 2.x)
  920.  INT 21,51   Get current process id (DOS 2.x)
  921.  INT 21,52   Get pointer to DOS "INVARS"
  922.  INT 21,53   Generate drive parameter table
  923.  INT 21,55   Create new PSP
  924.  INT 21,58   Get/set memory allocation strategy (DOS 3.x+)
  925.  INT 21,5D   Critical error information (DOS 3.x+)
  926.  INT 21,60   Get fully qualified file name (DOS 3.x+)
  927.  INT 21,64   Set device driver look ahead  (DOS 3.3+)
  928.  INT 21,69   Get/set disk serial number (DOS 4.0+)
  929.  INT 21,F8   Set INT 21 OEM handler
  930.  INT 28      DOS idle loop/scheduler
  931.  INT 29      Fast character output
  932.  INT 2E      Execute command using base level COMMAND.COM
  933.  
  934.  BCB         Batch Control Block
  935.  DTA         Disk Transfer Area  (partially undocumented)
  936.  MCB         Memory Control Block
  937.  PSP         Program Segment Prefix Layout (partially undocumented)
  938.  SFT         System File Table
  939.  
  940.  
  941.  - the above items are undocumented with respect to IBM/Microsoft
  942.    and should be not be used unless one fully understands the
  943.    repercussions
  944.  - several functions are version dependant and OEM specific
  945.  
  946. :warm boot:bootstrap:reboot
  947. ^Warm Boot / System Bootstrap
  948.  
  949.  - Ctrl-Alt-Delete results in a warm boot but only after part of the
  950.    POST sequence has executed.  See  COLD BOOT  for more information.
  951.  - ROM BIOS bootstrap loader (int 19) attempts Boot Record load
  952.  - Drive A: is searched for a Boot Record, if no Boot Record is found
  953.    the active partition of the first drive is searched.  If found, it
  954.    is loaded into memory at 7C00:0 and given control.  If still not
  955.    found Cassette BASIC is loaded (IBM only) or a prompt for a system
  956.    diskette is displayed.
  957.  - the boot record code checks that IBMBIO.COM and IBMDOS.COM (IO.SYS
  958.    and DOS.SYS for MSDOS) exist and are the first two files.  These
  959.    files must be contiguous and the first two directory entries.
  960.  - boot record loads IBMBIO.COM
  961.  - IBMBIO.COM initialization code loads IBMDOS.COM
  962.    ∙ determines equipment status
  963.    ∙ resets disk system
  964.    ∙ initializes attached devices
  965.    ∙ loads installable device drivers
  966.    ∙ sets DOS relative interrupt vectors
  967.    ∙ relocates IBMDOS.COM downward and begins its execution
  968.  - IBMDOS.COM initializes its working tables
  969.    ∙ initializes DOS interrupt vectors for ints 20h through 27h
  970.    ∙ builds PSP for COMMAND.COM at lowest possible segment
  971.    ∙ interrupt vectors for ints 0Fh through 3Fh are initialized
  972.      (for DOS 3.1+)
  973.    ∙ loads COMMAND.COM (or specified command interpreter) using the
  974.      EXEC call.
  975.  - AUTOEXEC.BAT is then loaded and executed
  976.  
  977.  - see   BOOT RECORD   INT 19   COLD BOOT
  978.